﻿<?php // no direct access
/*Copyright (C) 2013  <b.maynadier@acacs.org>

    Ce programme est un logiciel libre: vous pouvez le redistribuer
    et/ou le modifier selon les termes de la "GNU General Public
    License", tels que publiés par la "Free Software Foundation"; soit
    la version 2 de cette licence ou (à votre choix) toute version
    ultérieure.

    Ce programme est distribué dans l'espoir qu'il sera utile à d'autres, mais
    SANS AUCUNE GARANTIE, ni explicite ni implicite; sans meme les
    garanties de commercialisation ou d'adaptation dans un but spécifique.

    Se référer à la "GNU General Public License" pour plus de détails.

    Vous devriez avoir reçu une copie de la "GNU General Public License"
    en meme temps que ce programme; sinon, écrivez a la "Free Software
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA".
*/

defined('_JEXEC') or die('Restricted access');
jimport( 'joomla.application.component.view');
// montre les prochaines distributions, tout abo confondu
class amapViewpermanancesldb extends JView
{	
  var $amap;

  function display($tpl = null)
  {

 $mainframe =& JFactory::getApplication();    
$document =& JFactory::getDocument();
    $pathway  =& $mainframe->getPathway();
	
	// Adds parameter handling
	$params = $mainframe->getParams();

	$params->def( 'show_page_title', 1 );
	$params->def( 'page_title', 'Les permanences');

	if ($this->amap->adLoggue){
	  if ($this->amap->adExiste){
	    echo "<div class='amap_bloc'>";
	    echo "<h4 class='amap_titre'>Permanences en Dev !!!!</h4>";

echo "Vers le tableau à Lolo en un seul click<br><br>";

echo "cliquez sur \"I\" pour s'Inscrire ou sur \"D\" pour se Désinscrire (à la bonne date). Cela autant de fois que vous voulez.<br><br>"; 

$data = $this->amap->getprodistri(35);	   
$i=0;
$tab=array();
while (list($contrats,$abonnements)=each($data))
{
$k=0;
while ($k <= count($contrats) ){
$contrat[$k]=$contrats;
$k=$k+1;
}

	while (list($a,$alivrer)=each($abonnements))
	{
$key=key($alivrer);

$j=0;
foreach ($alivrer as $key => $value) { 
//echo $key .' ' . $value."<br>";
//echo $key."<br>";
if($j == 0){$d=$value;}
$tab[$i][1] = $i;
$tab[$i][2] = $d;
$tab[$i][3] = $j;
$tab[$i][4] = $key;
$tab[$i][5] = $value;
$tab[$i][6] = $contrat[$j+1];

$dates= date($d);
$dates=substr($dates,6,4)."-".substr($dates,3,2)."-".substr($dates,0,2);
$dates= date($d);
$dates=substr($dates,6,4)."-".substr($dates,3,2)."-".substr($dates,0,2);
$delta=nbJours("2011-05-14", "$dates") ;
$tab[$i][0] = $delta;
///recherche abonnement
//echo $i."-".$tab[$i][0] ."--".$tab[$i][1]."----".$tab[$i][2].": ".$tab[$i][3]."<br>";
$i=$i+1;
$j=$j+1;
}
	}

}
$nb=$i-1;
$i=0;
//echo "<br>nombre".$nb."<br>";
///////////////

foreach( $tab as $key => $row )
	{	
		$column1[$key] = $row[0];//echo "column1 ".$column1[$key]."<br>";
		$column2[$key] = $row[1];//echo "column2 ".$column2[$key]."<br>";
		$column3[$key] = $row[2];//echo "column2 ".$column3[$key]."<br>";
		$column4[$key] = $row[3];//echo "column2 ".$column4[$key]."<br>";
$column5[$key] = $row[4];//echo "column5 ".$column5[$key]."<br>";
	      // etc
	}

array_multisort($column1, SORT_ASC, $column2, SORT_ASC, $tab); //c'est ca que je ne suis pas arrivé à faire en SQL en gardant la fonction prodistri de gamap telle qu'elle était livrée. Je n'emploie pas  la bonne méthode, il vaudrait mieux un ORDER BY dans le SQL (sans création de table temporaire).

while ($i <= $nb)
{
if($tab[$i][3] == 0 AND $tab[$i][2] <> $tab[$i-1][2] )//saut de ligne et affichage entete date pour une date de livraison et affichage du nom du contrat
{
///echo "<br><strong>Le: ".$tab[$i][2] ."</strong><br>".$tab[$i][6]."<br>";
$nomcontrat=$tab[$i][6];

}
elseif($tab[$i][3] == 0 )//saut de ligne si contrat different pour une date de livraison
{
///echo "<br>".$tab[$i][6]."<br>"; //affichage du nom du contrat
$nomcontrat=$tab[$i][6];
}
//echo $tab[$i][0] ."---".$tab[$i][1]."----".$tab[$i][2].": ".$tab[$i][3]."----".$tab[$i][4].":".$tab[$i][5].":".$tab[$i][6]."<br>";
$i=$i+1;
}

///////////////////////////////////////////////////////////
$i=0;	   
while ( $i <= $nb)
{
if ( $tab[$i][3] == 0)
	{
	$date=$tab[$i][2];
$dates=substr($date,6,4)."-".substr($date,3,2)."-".substr($date,0,2);
	$abonnement=$tab[$i][6];
	$i=$i+1;
	$inscrits=    "<strong>". $tab[$i][5]."</strong>" ;                                     
	//$i=$i+1; 
	}
$tableauDate[$date][] = array(
					'Nom'=>$abonnement,
				'Date'=>$dates,
					    );

$i=$i+1;
}
//var_dump($tableauDate);
////////////////////////////////////////////////
echo"<TABLE BORDER>";

//echo"<TR><TD>ligne 1, colonne1</TD>";
echo"<TR><TD>Date</TD>";
echo"<TD>Table de pointage 1</TD></TD>";
echo"<TD>Table de pointage 2</TD></TD>";
echo"<TD>I/D</TD></TR>";
$user =& JFactory::getUser();

	      foreach ( $tableauDate as $dte=>$table) {
$dates=substr($dte,6,4)."-".substr($dte,3,2)."-".substr($dte,0,2);
$inscrits=listePointage($dates);
$nbinscritspointage=count(listePointage($dates));

///////traitement d'une line
//si l'utilisateur connecté est inscrit il faut pouvoir se désinscrire
if($nbinscritspointage == 0){
echo "<TR><TD>$dates</TD><TD>".$inscrits[0]['Prenom']." ".$inscrits[0]['Nom']."</TD><TD></TD>";
echo"<TD> <a class='amap_bouton' href='index.php/component/amap/?task=adInscLivraison&amp;statut=Inscrit&amp;date1=".$dates."'>I</a></TD></TR>";
}


if($nbinscritspointage == 1){
//echo $inscrits[0]['IDJ'];
echo "<TR><TD>$dates</TD><TD>".$inscrits[0]['Prenom']." ".$inscrits[0]['Nom']."</TD><TD></TD>";
if($user->id <> $inscrits[0]['IDJ'])
{
echo"<TD> <a class='amap_bouton' href='index.php/component/amap/?task=adInscLivraison&amp;statut=Inscrit&amp;date1=".$dates."'>I</a></TD></TR>";
}
else
{
echo "<TD><a class='amap_bouton' href='index.php/component/amap/?task=adInscLivraison&amp;statut=Abandon&amp;date1=".$dates."'>D</a></TD></TR>";
}
}
if($nbinscritspointage == 2 ){
echo "<TR><TD>$dates</TD><TD>". $inscrits[0]['Prenom']." ".$inscrits[0]['Nom']."</TD><TD>". $inscrits[1]['Prenom']." ".$inscrits[1]['Nom']."</TD>";
if($user->id == $inscrits[0]['IDJ']  || $user->id == $inscrits[1]['IDJ']){
echo "<TD><a class='amap_bouton' href='index.php/component/amap/?task=adInscLivraison&amp;statut=Abandon&amp;date1=".$dates."'>D</a></TD></TR>";
}
}
}
}
}
echo "</TABLE>";
echo "</div>\n";

parent::display($tpl);
}
}

function nbJours($debut, $fin) {
        //60 secondes X 60 minutes X 24 heures dans une journée
        $nbSecondes= 60*60*24;

        $debut_ts = strtotime($debut);
        $fin_ts = strtotime($fin);
        $diff = $fin_ts - $debut_ts;
        return round($diff / $nbSecondes);
    }


?>
